/*
** File class
*/

#ifndef _FILE_H
#define _FILE_H

// File interface
class IFile abstract{
	public:
		virtual int Open(const char* filename) = 0;	
		virtual CMemory* GetEntireFile() = 0;
		virtual CMemory* ImportSection(const char* name) = 0;
};

class CBaseFile : public IFile {

	protected:
		void* fHandle;

	public:
		int Open(const char* filename);	 // Opens the file for reading
		CMemory* GetEntireFile();						// Returns the entire file
		CMemory* ImportSection(const char* name);		// Returns a section of the file. This varies between filetypes


};

#endif